package learn_0329;

public class RemoveEL {
    public static int removeElement(int[] nums, int val) {
        // int left = 0;
        // int right = 0;
        // List<Integer> valIndex = new ArrayList();
        // for(int i = 0;i<nums.length;i++){
        //     if(nums[i]==val){
        //         valIndex.add(i);
        //     }
        // }
        // int val_num = valIndex.size();
        int left = 0;
        int right = nums.length-1;
        while(left<right){
            while(nums[left]!=val){
                left++;
            }
            while(nums[right]==val){
                right--;
            }
            int tmp = nums[left];
            nums[left] =  nums[right];
            nums[right] = tmp;
            left++;
            right--;
        }
        int res = left+1;
        return res;
    }

    public static void main(String[] args) {
        int[] nums = {0,1,2,2,3,0,4,2};
        int val = 2;
        removeElement(nums,  val);
        System.out.print(nums.toString());
}

}
